SQL WHERE

语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;

WHERE 子句中的运算符

下面的运算符可以在 WHERE 子句中使用:

运算符 描述
= 等于
<> 不等于。注释: 在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

Where 子句

搜索 empno 等于 7900 的数据:

Select * from emp where empno=7900;

Where +条件(筛选行)

条件:列,比较运算符,值
比较运算符包涵:= > < >= ,<=, !=,<> 表示(不等于)

Select * from emp where ename='SMITH';

例子中的 SMITH 用单引号引起来,表示是字符串,字符串要区分大小写。

逻辑运算

And:与 同时满足两个条件的值。

Select * from emp where sal > 2000 and sal < 3000;

查询 EMP 表中 SAL 列中大于 2000 小于 3000 的值。
Or:或 满足其中一个条件的值

Select * from emp where sal > 2000 or comm > 500;

查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。
Not:非 满足不包含该条件的值。

select * from emp where not sal > 1500;

查询EMP表中 sal 小于等于 1500 的值。

逻辑运算的优先级:
() not and or

特殊条件

1.空值判断: is null

Select * from emp where comm is null;

查询 emp 表中 comm 列中的空值。
2.between and (在 之间的值)

Select * from emp where sal between 1500 and 3000;

查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。
注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,上限在后,查询的范围包涵有上下限的值。
3.In

Select * from emp where sal in (5000,3000,1500);

查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。

4.like
Like模糊查询

Select * from emp where ename like 'M%';

查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。